1. Field of the Invention
The present invention relates to an image generating apparatus used in the field of image processing such as CG (Computer Graphics) for generating a realistic image at a high speed, and to a method thereof.
2. Description of the Related Arts
There has been increasing demands for techniques to improve image qualities in the field of image processing such as CG (Computer Graphics). Accordingly, a variety of algorithms have been developed to generate a realistic image based on an object's physical phenomena, such as light reflection or transmission,
Conventionally, methods called "Gouraud shading" and "flat-shading" are applied; however, methods called "radiosity" and "ray-tracing", which handle specular reflections and shadows caused by one object to the others in an arbitrary boundary box, have been developed recently.
"Radiosity" is a method to reproduce shadows by computing a thermal energy propagation per pixel. A form factor is computed by a process called "hemi-cube" which uses a technique called "z-buffering" or a process called "ray casting" which checks the intersection between a ray emanating from a light source and objects being modeled, or so-called polygons defining the objects' spatial-occupancies; the latter being an improvement of the former in the resulting image qualities.
"Ray-tracing" is a method to reproduce ray transmission and shadows by defining reflection and transmission factors of the object's surface, and thus this method is effective in reproducing an object with curved surfaces, such as an automobile, in a realistic image. The ray-tracing algorithms begin with "hidden-surface-removal": firstly, polygons enclosed in an arbitrary boundary box are projected on a screen as a 2D scene based on supplied data related to a view point as to its location, view direction, and zoom angle; secondly, a ray is fired from the center of the projection through each pixel on the screen to check the intersection between the ray and all the polygons in the arbitrary boundary box, and polygons that do not intersect with any other polygon relative to the rays are determined to be visible surfaces; finally, intensity on each pixel in the visible surfaces is computed by taking into account both a direct ray emanating from each light source and reflections from the other polygons.
Given that both methods compute the intensity on each pixel, the qualities in the resulting image are significantly improved. However, the computation per pixel involves a massive amount of computation, and thus it takes quite a long time, in particular, when only a single processor is equipped with the apparatus. The time can be saved by parallel-processing with a plurality of processors, but only limitedly due to a corresponding increase in expense for hardware. Therefore, along with the demands for improving the image qualities, the demands for a technique such that speeds up the intensity computation either by a serial- or parallel-processing have been increasing as well.